As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Today, information handling systems, such as servers, use an increasing number of input/output (I/O) expansion cards and/or require the expansion cards to operate at faster speeds. As computing and power requirements continue to increase, users are looking for ways to pack more computing power into smaller spaces while at the same time saving money, conserving energy, and having flexibility. Today, many systems support the use of a PCI Express (PCIe) bus that provides links from one or more I/O devices to the chipset and/or processor of the system. In order to support the bandwidth demands of current and future expansion cards, a system may provision multi-lane PCIe links to one or more I/O devices. In current systems, the links may be 4-lanes (x4), 8-lanes (x8) and/or 16-lanes (x16) wide and each lane may provide a raw bandwidth of approximately 2 Gb/s per direction. Although many conventional expansion cards may operate at full bandwidth on x4 links, some current and future expansion cards may require x8 links (or higher) to realize full performance. The technologies that require higher bandwidth may include 8-port RAID/SAS, 2-port x4 InfiniBand, 10 gE/TOE, 10 g Fibre Channel and other 10-40 Gbit technologies.
However, the number of provisioned links and associated lanes available from the chipset may force system designers to choose between the total number of PCIe slots and the number of high bandwidth slots supported by the system. For example, a specific chipset may support two x8 root ports that generate two x8 links. The links may be used to support two x8 devices, one x8 device and two x4 devices, or four x4 devices. The system designer, therefore, must determine whether to design a system having a higher number of I/O devices operating at a lower bandwidth or a lower number of I/O devices operating at a higher bandwidth.
Current solutions for providing flexibility in a system with respect to the number of slots include PCIe switches that may be used to fan-out a single root port to multiple peripheral devices. For example, a single x8 root point may be fanned out into three x8 links. However, PCIe switches require extra circuitry to implement, introduce routing complexity into the motherboard, increase the cost of the system, require more power to operate and add additional latency to the PCIe bus such that bandwidth bottlenecking may occur. PCIe switches, therefore, may be undesirable, especially in low-cost systems.